import numpy as np


def gen_golden_data_tan():
    # 生成输入数据，范围调整为 (-π/2 + 0.1, π/2 - 0.1)，避免 tan 的奇点
    input_x = np.random.uniform(-1.4, 1.4, [8, 2048]).astype(np.float16)  # 近似 (-π/2 + 0.1, π/2 - 0.1)
    
    # 计算正切值
    golden = np.tan(input_x).astype(np.float16)
    
    # 保存 tiling 参数（可选，根据实际需求）
    tiling = np.array([16384, 8], dtype=np.uint32)
    tiling.tofile("./input/input_tiling.bin")
    
    # 保存输入数据
    input_x.tofile("./input/input_x.bin")
    
    # 保存计算结果
    golden.tofile("./output/golden.bin")


if __name__ == "__main__":
    gen_golden_data_tan()